/*
*输入3个整数a、b和c分别作为三角形的三条边，要求a、b和c必须满足以下条件：
1、整数
2、3个数
3、边长大于等于1，小于等于100
4、任意两边之和大于第三边
输出为5种情况之一：
如果不满足条件1、2、3，则程序输出为“输入错误”。
如果不满足条件4，则程序输出为“非三角形”。
如果三条边相等，则程序输出为“等边三角形”。
如果恰好有两条边相等，则程序输出为“等腰三角形”。
如果三条边都不相等，则程序输出为“一般三角形”。

* */

public class Triangle {
    //判断输入的是否为整数
    public  static  boolean isInt(Object objects){
        if(objects instanceof Integer){
            return true;
        }else {
            return  false;
        }
    }

   public boolean judgeTriangle(int a, int b,int c){
        if(a+b>c&&b+c>a&&a+c>b){
            return true;
        }else {
            return  false;
        }
   }

   public boolean strightLine(int a,int b,int c){
        if((a==b&&b!=c)||(b==c&&c!=a)||(a==c&&c!=b)){
            return true;
        }else {
            return false;
        }
   }


    public  String isTriangle(Object... objects){
        int ObjectsLength = objects.length;
        if(ObjectsLength!=3)
            return "输入错误";


        for(Object object:objects){
            if(!isInt(object)){
                return "输入错误";
            }
        }

        String[] sides = new String[3];
        for(int i =0; i < objects.length;i++){
            sides[i] = objects[i].toString();
            int x= Integer.valueOf(sides[i]);
            if((x <1 || x >100)){
                return "输入错误";
            }
        }


        int a =Integer.valueOf(sides[0]);
        int b =Integer.valueOf(sides[1]);
        int c =Integer.valueOf(sides[2]);
        if(!judgeTriangle(a,b,c)){
            return "非三角形";
        }
        if(a==b && b==c){
            return  "等边三角形";
        }
        if(strightLine(a,b,c)){
            return  "等腰三角形";
        }
        return "一般三角形";
    }
}
